1. Field of the Invention
The present invention relates to a storage system.
2. Description of the Related Art
A storage system provides large-capacity and high-performance storage services to a host computer. In a storage system, for example, a storage region is configured on the basis of a RAID (Redundant Array of Independent Inexpensive Disks), formed by providing a plurality of disk drives in an array configuration. Logical volumes, which are logical storage regions, are formed in the physical storage regions provided by the respective disk drives.
A logical volume is previously associated with a LUN (Logical Unit Number). A host computer issues a write command or a read command of a prescribed format, to the storage system, by identifying a LUN and a block address, or the like. Thereby, the host computer is able to read or write prescribed data from or to the storage system.
A cache memory is used to transmit and receive data between the host computer and the storage system. Data relating to a write request from the host computer (write data) is stored temporarily in the cache memory and then written to a disk drive. Moreover, data relating to a read request from the host computer (read data) is read out via the cache memory and then transmitted to the host computer.
In this way, all of the user data transmitted to and received from the host computer passes through the cache memory. If a request has been made to read out data that is cached in the cache memory, then the data in the cache memory is read out and transmitted to the host computer. If there has been a read out request for data that has not been cached, then the data is read out from the disk drive, and transmitted to the host computer via the cache memory.
In order to read out cached data in response to a request from a host computer, it is necessary to manage data groups which are cached on the cache memory. As a management method of this kind, a hierarchical directory system is known which manages data groups in a plurality of hierarchical levels. Another known management method is a hash directory method using hash tables (Japanese Patent Laid-open No. S58-31460).
The size of the cache memory is related closely to the size of the storage region provided by the disk drives. The greater the storage regions, the larger the amount of cache memory that is required. This is because, unless a cache memory is installed which suits the size of the storage region, cache misses will occur, the cache penalty will increase, and service performance will decline.
Storage systems are used, for example, by various types of organizations, such as businesses, self-governing bodies, and the like, which manage huge volumes of data. The data managed by a business, or the like, increases continuously, year on year, and therefore storage systems are also required to have expandable storage capacity. If the storage capacity of a storage system is increased, then the size of the cache memory installed is also increased.
When the size of the cache memory is increased, the management information required for managing the cache data also increases. In a hierarchical directory system, the cache data is managed by dividing the cache management table into a plurality of levels, and the amount of cache data to be managed increases, as the amount of cache data increases. In a hierarchical directory system, it is possible to manage a large amount of cache data, by either increasing the number of levels managed, or by increasing the table size of each level, without changing the number of levels, or by a combination of these methods.
However, if the number of levels is increased, the number of access operations also increases in accordance with the increase in the number of levels, and hence there is a risk that the performance of the storage system will decline. In a hierarchical directory method, the desired data is retrieved for by referring successively to the management tables of each level. Therefore, the increase in the number of levels leads to an increase in the number of access operations to the tables, and this increase in the number of access operations leads in turn to a decline in the read out speed.
If the table size is increased without increasing the number of levels, then the table size will increase in accordance with the storage region (cache region) that is to be managed by same, and hence the size of the management information will rise, and a large amount of memory will be required in order to store this management information. As described above, since the volume of the cache memory is determined by the storage capacity of the storage system, then ultimately, the management information for managing the cache data will increase in accordance with the storage capacity of the storage system.
The patents referred to above only disclose addressing methods for a memory using hash tables, and they do not include any reference to storage regions providing large-capacity storage services.